Cuirass is a continuous integration tool using GNU Guix.  It is intended as a
replacement for Hydra.

Requirements
============

Cuirass currently depends on the following packages:

  - GNU Guile 2.0.9 or later
  - GNU Guix (and all its development dependencies)
  - GNU Make
  - Guile-JSON
  - Guile-SQLite3
  - Git

A convenient way to install those dependencies is to install Guix and execute
the following command:

   $ guix environment -l build-aux/guix.scm

This will build and enter an environment which provides all the necessary
dependencies.

Build Instructions
==================

When all the dependencies are available on you system, in order to build and
install Cuirass, you can proceed with the usual:

   $ ./configure && sudo make install

An alternative way is to directly install Cuirass in your Guix profile, using:

   $ guix package -f build-aux/guix.scm

To build it, but not install it, run:

   $ guix build -f build-aux/guix.scm

Example
=======

A quick way to manually test Cuirass is to execute:

  ./pre-inst-env cuirass --specifications=examples/hello-singleton.scm --database=test.db

This will read the file "examples/hello-singleton.scm" which contains a list of
specifications and add them to the database "test.db" which is created if it
doesn't already exist.

'cuirass' then loops evaluating/building the specs.  The database keeps track
of the specifications in order to allow users to accumulate specifications.
To resume the evaluation/build process you can execute the same command
without the '--specifications' option:

  ./pre-inst-env cuirass --database=test.db

Contributing
============

See the manual for useful hacking informations, by running

  info -f doc/cuirass.info "Contributing"
